/**
 * 
 */
package br.flf.webchat.mbean;

import java.util.Date;

import javax.faces.component.html.HtmlInputTextarea;
import javax.faces.event.ActionEvent;

import br.flf.webchat.entidades.DialogoTO;
import br.flf.webchat.entidades.Mensagem;
import br.flf.webchat.entidades.Pessoa;

/**
 * @author Nathan
 * 
 */
public class ChatBean extends BaseBean {

	// -------------------------------------------Constantes
	/**
	 * Generated Serial Version UID.
	 */
	private static final long serialVersionUID = -6122628306565443408L;
	// --------------------------------------------Atributos
	private String mensagem;

	private Pessoa pessoaVisivel;

	private HtmlInputTextarea inputTextarea;

	// -------------------------------------Metodos Publicos

	public void enviarMensagem(ActionEvent e) {

		Mensagem msg = new Mensagem();
		msg.setDataMensagem(new Date());
		msg.setRemetente(pessoaVisivel);
		msg.setMensagem(mensagem);
		pessoaVisivel.getDialogoTO().adicionarMensagem(msg);
		mensagem="";
	}

	// -------------------------------------Metodos Privados
	// ----------------------------------------Gets and Sets
	/**
	 * @return the dialogoTO
	 */
	public DialogoTO getDialogoTO() {

		return pessoaVisivel.getDialogoTO();
	}

	/**
	 * @param dialogoTO
	 *            the dialogoTO to set
	 */
	public void setDialogoTO(DialogoTO dialogoTO) {
		pessoaVisivel.setDialogoTO(dialogoTO);
	}

	/**
	 * @return the mensagem
	 */
	public String getMensagem() {
		return mensagem;
	}

	/**
	 * @param mensagem
	 *            the mensagem to set
	 */
	public void setMensagem(String mensagem) {

		this.mensagem = mensagem;

	}

	/**
	 * @return the conteudoChat
	 */
	public String getConteudoChat() {

		return pessoaVisivel.getDialogoTO().getDialogo4InputTextArea();
	}

	/**
	 * @return the pessoaVisivel
	 */
	public Pessoa getPessoaVisivel() {
		return pessoaVisivel;
	}

	/**
	 * @param pessoaVisivel
	 *            the pessoaVisivel to set
	 */
	public void setPessoaVisivel(Pessoa pessoaVisivel) {
		this.pessoaVisivel = pessoaVisivel;
	}

	/**
	 * @return the inputTextarea
	 */
	public HtmlInputTextarea getInputTextarea() {
		return inputTextarea;
	}

	/**
	 * @param inputTextarea
	 *            the inputTextarea to set
	 */
	public void setInputTextarea(HtmlInputTextarea inputTextarea) {
		this.inputTextarea = inputTextarea;
	}

}
